The present invention relates to the application of effects to artwork objects in a graphics program.
Conventional graphic illustration and animation programs allow users to apply effects to artwork objects in order to modify the visual appearance of the objects. Each effect is typically controlled by the settings of one or more parameters. For example, a skew effect would be controlled by a parameter that sets the skew angle. Some graphic illustration programs permit a user to morph or blend with an applied effect between two forms of the object generated from two different parameters settings. One conventional method of blending is to apply the effect with the first parameter setting to the object to create a first drawing, apply the affect with the second parameter to the object to create a second drawing, and interpolate between the two to create a blended version of the two drawings. This method is performed by the Adobe Illustrator(copyright) application. Another conventional method of blending is for the graphics application to interpolate the effect""s parameter settings. For example, the application can calculate a linear interpolation between the two parameter settings of the effect, and apply the effect using the linear interpolation. This method is used for raster filter effects by the Adobe AfterEffects(copyright) application.
Unfortunately, the conventional methods of blending do not function properly when some vector effects are applied to vector objects. For example, if the object is a square and the effect is a rotation of 90xc2x0, and the blending interpolates between one version of the object with the rotation and one version of the object without the rotation, the resulting blend will be just a copy of the original object rather than a rotation of the square through an intermediate angle. An additional problem is that having the application interpolate the parameter settings for an effect may require elaborate parameter descriptions.
In one aspect, the invention is directed to a method of editing an artwork object. In the method, user input is received selecting a first parameter setting and a second parameter setting for an effect of an object. The first parameter setting, the second parameter setting and a blend parameter setting are passed to the effect. A third parameter setting is generated in the effect from the first parameter setting, the second parameter setting and the blend parameter setting. The effect is applied to the object with the third parameter setting to generate an rendered version of the object.
Implementations of the invention may include the following features. The effect may be a vector effect. The third parameter setting may be between the first and second parameter settings. The first parameter setting and second parameter setting may be for the same parameter.
In another aspect, the invention is directed to a method of performing a blend on an artwork object. In the method, user input is received selecting a first parameter setting for a first effect on an object, a second parameter setting for a second effect on the object, a third parameter setting for the first effect on the object, and a fourth parameter setting for the second effect on the object. The first parameter setting, the third parameter setting and a blend parameter setting are passed to the first effect, and a fifth parameter setting is generated in the first effect from the first parameter setting, the third parameter setting and the blend parameter setting. The second parameter setting, the fourth parameter setting and the blend parameter setting are passed to the second effect, and a sixth parameter setting is generated in the second effect from the second parameter setting, the fourth parameter setting and the blend parameter setting. The first effect is applied to the object with the fifth parameter setting to generate a first intermediate object, and the second effect is applied the first intermediate object with the sixth parameter setting to generate a second intermediate object.
In another aspect, the invention is directed to a method of editing an artwork object. In the method, user input is received selecting a first parameter setting for an effect of a first artwork object and selecting a second parameter setting for an effect of a second artwork object. The first parameter setting, the second parameter setting and a blend parameter setting are passed to the effect, and a third parameter setting is generated in the effect from the first parameter setting, the second parameter setting and the blend parameter setting. The effect is applied to the first object with the third parameter setting to generate a first intermediate object, and the effect is applied to the second object with the third parameter setting to generate a second intermediate object. Interpolation between the first intermediate object and the second intermediate object generates a third intermediate object.
In another aspect, the invention is directed to a method for implementing an effect for application to an artwork object in a graphic arts computer program application. In the method, a programming interface is provided in a computer program module implementing an effect for receiving a parameter value range and a blend parameter value. The parameter value range defines first and second endpoint values for the effect parameter, and the blend parameter value defines a selection of an effect parameter value from the first endpoint through the second endpoint, inclusive. The effect parameter value controls operation of the effect when the effect is applied to an artwork object.
Implementations of the invention may include the following features. A programming interface may be provided in the computer program module for returning to the application an intermediate parameter value for the effect parameter. The intermediate parameter value may be calculated by the module from the parameter value range and the blend parameter value. A programming interface may be provided in the computer program module for the application to direct the effect to apply itself with an effect parameter value calculated by the effect from the parameter value range and the blend parameter value. The blend parameter may represent a percentage between zero percent and 100 percent, inclusive. The effect may be a vector effect. The effect may have multiple effect parameters, and the programming interface may be operable to receive multiple effect parameter values and corresponding multiple parameter value ranges, the blend parameter value defining a selection of a respective parameter value for each of the multiple effect parameters.
In another aspect, the invention may be directed to a computer program product tangibly stored on a computer-readable medium and implementing the foregoing methods.
Advantages of the invention may include the following. A larger variety of effects, including vector effects, may be blended. The blending need not follow a simple linear interpolation.